This invention relates in general to techniques for communicating data in a frequency hopping system, and in particular to a coding technique that improves throughput reliability in such a system.
In frequency hopping systems, two data terminal devices communicate information over a link that uses electromagnetic radiation, typically radio waves, to carry the information. The information is sent as messages or calls that are formed from one or more data packets. The electromagnetic radiation has a carrier frequency that undergoes discrete frequency changes. During the time the link is at one frequency, a data packet is sent from a transmitting terminal to a receiving terminal. This is also referred to as a hop. The discrete frequency changes are predetermined in time and frequency by the two data terminal devices, but may appear to be random to an observer or to a third data terminal device. By predetermined, it is meant that the receiving data terminal contains information that allows the receiving data terminal to change to the next carrier frequency of the transmitting data terminal essentially at the time the change of carrier frequency occurs, without receiving successive frequency change information from the transmitting data terminal. Typically, a pseudorandom value generator is used to generate a pattern of values that change the carrier frequency. The pattern of the pseudorandom values is predictable from a relatively small set of defining values that are communicated or predetermined within the receiving data terminal.
Of the two data terminal devices, one can be a fixed terminal, such as a base station in a cellular paging or cellular telephone system, and the other a mobile or portable data terminal. In such systems, the fixed terminal can be one of the two terminals for a plurality of links. In other systems, the links are primarily or solely between independent pairs of terminals.
In some systems, particularly those having fixed terminals in a cellular pattern, the frequency changes for one link are coordinated with the frequency changes for other links such that interference between pairs of links is minimized. However, in other systems, there is no such coordination, and interference is controlled by the relative signal strengths of the links that have a common frequency. The relative signal strengths are typically substantially different (because of relative distances) and there typically exists a low probability of simultaneous use of a common frequency. Such is the case in the instrument, scientific, and measurement (ISM) frequency band in the United States, for which the Federal Communications Commission requires that equipment using links in the ISM band not employ frequency coordination between terminals having different links.
A problem that arises in an uncoordinated system, and that also arises less frequently in a coordinated system, is interference between two links at times when the links use a common frequency. When an interfering link is substantially weaker than the interfered link at the interfered data terminal, the effect of the interference is typically a few or no bit errors during the hop. To improve performance caused by weak interference and by other types of signal disturbances such as ignition noise or fading, there is typically included in each hop or packet a conventional forward error correction code that corrects a predetermined maximum number of errors. When a few bit errors occur during a hop, they are then corrected. This avoids retransmission of the data packet when a data message is being communicated between the data terminals (when the data terminals are, for instance, alphanumeric data terminals). However, when the number of errors is too large, received errors are not correctable by the forward error correction code in the packet. In such a case, the errors may still be detected by a redundancy check code that is included with each hop or packet. The redundancy check code can determine that there are errors in the packet, but does not determine the location of the errors.
It will be appreciated that in these circumstances, when a data packet is received from an interfering link that is overpowering, the information in the interfered data packet can be completely replaced by the information in the interfering data packet and no errors will be detected in the received data packet. In a real time system, such as mobile telephony, an errored packet would normally be discarded and error mitigation could be applied to replace the discarded packet, using information obtained from preceding and succeeding packets. However, if the packet is completely replaced without any indication of uncorrectable errors, the result is an unacceptable burst of a wrong conversation.
Thus, what is needed is a technique for detecting a strong interfering link in a frequency hopping system that overpowers the non-interfering link and replaces a desired data packet with an interfering data packet that passes error checking and is accepted as the desired data packet. The technique should not add significant length to the data packet.